package com.kuang.design.creation.factory.simple;

/**
 * 简单工厂模式
 * 建一个抽象产品，实际产品继承抽象产品且实际产品对象的值已经在产品对象中赋好了，可以直接用简单工厂创建所需要的已设定的实际产品。
 * 优点方便快捷，缺点后续产品加功能之类的需要修改抽象产品类和实际产品类
 */
public class MainTest {
    public static void main(String[] args) {
        WuLinSimpleFactory wuLinSimpleFactory = new WuLinSimpleFactory();
        AbstractCar van = wuLinSimpleFactory.newCar("van");
        AbstractCar mini = wuLinSimpleFactory.newCar("mini");
        AbstractCar cc = wuLinSimpleFactory.newCar("cc");

        van.run();
        mini.run();
        cc.run();//此行代码由于cc没有成功生产出来，cc对象为空，不能调用run()，所以报空指针异常，
    }
}
